日期差值
描述
有两个日期，求两个日期之间的天数，如果两个日期是连续的我们规定他们之间的天数为两天
输入描述：
有多组数据，每组数据有两行，分别表示两个日期，形式为YYYYMMDD
输出描述：
每组数据输出一行，即日期差值
示例1
输入：
20110412
20110422
输出：
11


//思路：算出分别是当年的多少天，加加减减
#include<iostream>
#include<cstdio>
using namespace std;

int num[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int fun(int year)//判断闰年
{
    return (year%4==0&&year%100!=0)||year%400==0;
}

int Days(int year,int month,int day)//计算是当年的第几天
{
    int sum=0;
    int i=1;
    while(i<month)
    {
        sum+=num[i++];
    }
    if(month>2&&fun(year))
        sum+=1;
    return sum+day;
}

int main()
{
    int x1,x2;
    int sum1,sum2,sum;
    char c;
    while(scanf("%d%c%d",&x1,&c,&x2)!=EOF)
    {
        sum1=sum2=sum=0;
        int year1=x1/10000,year2=x2/10000;
        sum1=Days(year1,x1%10000/100,x1%100);
        sum2=Days(year2,x2%10000/100,x2%100);
        while(year1<year2)
        {
            sum+=365+fun(year1);
            year1++;
        }
        printf("%d\n",sum+sum2-sum1+1);
    }
    return 0;
}


